#!/bin/bash

# 定义要检查的目录
directory="/Users/cool/Desktop/tra/git-repo/bdc-earlyimport/locales"

# 定义一个正则表达式，用于匹配中文字符
chinese_regex='[一-龥]'

# 定义一个正则表达式，用于排除特定字符
exclude_chars='[ÀÁẢÃẠÂẦẤẨẪẬĂẰẮẲẴẶÈÉẺẼẸÊỀẾỂỄỆÌÍỈĨỊÒÓỎÕỌÔỒỐỔỖỘƠỜỚỞỠỢÙÚỦŨỤƯỪỨỬỮỰỲÝỶỸỴĐàáảãạâầấẩẫậăằắẳẵặèéẻẽẹêềếểễệìíỉĩịòóỏõọôồốổỗộơờớởỡợùúủũụưừứửữựỳýỷỹỵđ？、：！🏆]'

# 定义要排除的子目录
# exclude_dirs=("zh_HK" "VI")
exclude_dirs=("zh_HK")

# 定义颜色
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color

# 标志变量，表示是否找到包含中文的文件
found_chinese=false


# 构建 find 命令的排除选项
exclude_opts=""
for dir in "${exclude_dirs[@]}"; do
  exclude_opts+=" -path $directory/$dir -prune -o"
done

# 使用 find 命令查找文件并排除指定的子目录
eval "find $directory ${exclude_opts} -type f -name '*.ts' -print" | while read -r file; do
  # 检查文件是否存在
  if [ -e "$file" ]; then
    # 使用 grep 读取文件内容并检查是否包含中文字符
    result=$(grep -n "$chinese_regex" "$file" | grep -vE "$exclude_chars")
    if [ -n "$result" ]; then
      echo -e "${RED}文件 $file 包含中文字符:${NC}"
      echo -e "${RED}$result${NC}"
      found_chinese=true
    else
        echo -e "${GREEN}文件 $file ✅${NC}"
    fi
  else
    echo -e "${RED}目录 $directory 中没有 TypeScript 文件${NC}"
    break
  fi
done

# 如果没有找到包含中文的文件，输出相应的信息
if [ "$found_chinese" = false ]; then
  echo -e "${GREEN}所有 TypeScript 文件中都不包含中文字符${NC}"
fi